.. _cmcPmStReadMotionState: cmcPmStReadMotionState ================================ -------------------------------- SYNOPSYS ````````````` .. code-block:: none VT_I4 cmcPmStReadMotionState ([in] VT_I4 BoardID, [in] VT_I4 NodeId, [in] VT_I4 Channel, [out] VT_PI4 MotStates ) DESCRIPTION ````````````` - cmcPmStReadMotionState() 함수는 현재 모션의 동작 상태를 반환합니다. \ - 이 함수의 사용과 호출에 있어, 제공된 ㈜커미조아의 함수 헤더 Visual Basic 에서는 함수의 첨두어 cmc 가 붙지 않습니다. PARAMETER ````````````` ▶ BoardID : 사용자가 설정한 디바이스(보드) ID. ▶ NodeId : 노드 번호. 노드 번호는 3부터 시작합니다. ▶ Channel : 축 번호. 통합 축으로 관리되는 축 번호를 의미하며, 상수 값으로 0 (Zero Based) 이상, 최대 통합 축 개수 - 1 이하의 값을 축 번호로 설정할 수 있습니다. ▶ MotStates : 모션 상태. .. csv-table:: :widths: 10 90 :header-rows: 1 :stub-columns: 0 Value, Meaning 음수, 모션작업 도중 에러 발생 => 에러코드 참조. 0 (cmcMST_STOP), Stop 1 (cmcMST_WAIT_DR), Waiting for DR input signal 2 (cmcMST_WAIT_STA), Waiting for STA input signal 3 (cmcMST_WAIT_INSYNC), Waiting for internal sync. signal 4 (cmcMST_WAIT_OTHER), Waiting other axis 5 (cmcMST_WAIT_ERC), Waiting for ERC output finished 6 (cmcMST_WAIT_DIR), Waiting for DIR change (DIR은 외부 입력 신호가 아닌 내부적인 신호임) 7 (cmcMST_RESERVED1), Reserved 8 (cmcMST_WAIT_PLSR), Waiting for PA/PB input signal 9 (cmcMST_IN_RVSSPD), In home special speed (reverse speed) 10(cmcMST_IN_INISPD), In start velocity motion 11(cmcMST_IN_ACC), In acceleration 12 (cmcMST_IN_WORKSPD), In working velocity 13 (cmcMST_IN_DEC), In deceleration 14 (cmcMST_WAIT_INP), Waiting for INP input signal 15 (cmcMST_SPARE0), Reserved 16 (cmcMST_HOMMING), In Homming RETURN VALUE ````````````` .. csv-table:: :widths: 10 90 :header-rows: 1 :stub-columns: 0 Value, Meaning 음수, 수행 실패 ERR_NONE, 수행 성공 REFERENCE ````````````` - 논리적 단위 거리는 cmcPmCfgSetUnitSpeed() 함수에 의해 결정됩니다. EXAMPLE ``````````````````` .. code-block:: c++ :linenos: :emphasize-lines: 5 C/C++ #include “ComiMLink3_SDK.h” #include “ComiMLink3_SDK_Def.h” long BoardID = 0; char szMstList[18][20] = { "Stop", "Wait DR", "Wait STA", "Wait INSYNC", "Wait Other Axis", "Wait ERC", "Wait DIR", "Reserved1", "Wait PA/PB", "On Reverse Speed", "On Initial Speed", "On Acceleration", "On Work Speed", "On Deceleration", "Wait INP", "Reserved", “In Homming”, “” }; long nMST = 0; //0번 축의 모션 상태를 반환합니다. cmcPmStReadMotionState(BoardID, 3, ccmcX1, &nMST ); if( nMST < 0 ) { OutputDebugString( "ReadMotionState Error!" ); } //화면에 표시할 문자열을 조합합니다. CString sMsg = "Current Motion State : " + szMstList[nMST]; //DisplayStatus() 함수는 화면에 상태를 표시하는 가상의 함수입니다. DisplayStatus( sMsg ); SEE ALSO ``````````` .. seealso:: :ref:`cmcPmStGetMstString`